/******************************************************************

AppGameKitWrapper (for use in CLI languages)

	by Conner Irwin (Airslide)

******************************************************************/

#pragma once
#include "AGK.h"

using namespace AGK;
using namespace System;
using namespace System::Runtime::InteropServices;

// Macros originally used to wrap AGK functions by hand -->

// Macros that make string translating (ASCII->Unicode|Unicode->ASCII) a little easier
// These are still used by AGKWrapperAid, although they probably don't need to be
// Still not sure if Marshal is the most efficient option for this
#define PARAMSTRING_START(pName,pValue) char* pName = (char*)(System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi( pValue )).ToPointer();
#define PARAMSTRING_END(pName) System::Runtime::InteropServices::Marshal::FreeHGlobal(IntPtr((void*)pName));

// moved other macros to 'old macros.txt'

// <--

namespace TheGameCreators
{
	namespace AppGameKit 
	{
		public ref class Agk
		{
		public:
			#include "autowrapped.h"
		};
	}
}
